package com.msxt.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.msxt.dto.NewsEntity;
import com.msxt.view.NewsView;
import com.msxt.vo.NewsVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 公告信息DAO接口
 */
public interface NewsDao extends BaseMapper<NewsEntity> {

	/**
	 * 查询公告VO列表
	 * @param wrapper 查询条件
	 * @return VO列表
	 */
	List<NewsVO> listVO(@Param("ew") QueryWrapper<NewsEntity> wrapper);

	/**
	 * 查询单个公告VO
	 * @param wrapper 查询条件
	 * @return VO对象
	 */
	NewsVO selectVO(@Param("ew") QueryWrapper<NewsEntity> wrapper);

	/**
	 * 查询公告视图列表
	 * @param wrapper 查询条件
	 * @return 视图列表
	 */
	List<NewsView> listView(@Param("ew") QueryWrapper<NewsEntity> wrapper);

	/**
	 * 分页查询公告视图列表
	 * @param page 分页参数
	 * @param wrapper 查询条件
	 * @return 视图列表
	 */
	List<NewsView> listView(Page<NewsView> page, @Param("ew") QueryWrapper<NewsEntity> wrapper);

	/**
	 * 查询单个公告视图
	 * @param wrapper 查询条件
	 * @return 视图对象
	 */
	NewsView selectView(@Param("ew") QueryWrapper<NewsEntity> wrapper);
}